package marina;

import other.J13Default;

public class J13AccessModifier {

	private String name;
	
	public static void main(String[] args) {
		//default 접근 지정자로 선언된 클래스 호출
		//J13AccessModifier : marina패키지
		//J12ExCompany : marina패키지
		J12ExCompany apple = new J12ExCompany();
		//default 접근 지정자로 선언된 클래스 호출
		//J13AccessModifier : marina패키지
		//CanISeeMe : other패키지
		//따라서, CanISeeMe 클래스는 접근 불가
		//CanISeeMe seeme = new CanISeeMe();
		
		//private 접근 지정자로 선언된 필드 호출
		//J13AccessModifier에서 private로 선언한 name을 am객체를 통해 호출.
		J13AccessModifier am = new J13AccessModifier();
		am.name = "";
		
		//private 접근 지정자로 선언된 필드 호출
		//PrivateClass에 private로 선언된 name변수는 J13AccessModofier에서 호출 불가
		//이것에 대한 해결책은? - 메서드를 이용하는 것!!!
		PrivateClass pc = new PrivateClass();
		//pc.name = "";
	}

}

class PrivateClass {
	//PrivateClass(){}
	public PrivateClass(){}
	//protected PrivateClass(){}
	//private PrivateClass(){}
	private String name;
}